相当繁琐的背包
dp_mp[i][j]表示用i回合还剩j点mp能打出的max伤害
f_mp[i]表示i回合用mp能打出的max伤害
转移比较简单,按题目说的做即可
sp同理
然后求出最小需要mini回合能打死boss
dp_hp[i][j]表示第i轮我执行完还剩j血能空出的max回合数
如果存在i,使得dp_hp[i][j]>=mini则yes
否则如果dp_hp[n+1][j]合法,表明我活过前n轮,tie
再否则no
错了一次是因为边界,f应该从0开始,可以不使用
相当繁琐的背包
dp_mp[i][j]表示用i回合还剩j点mp能打出的max伤害
f_mp[i]表示i回合用mp能打出的max伤害
转移比较简单,按题目说的做即可
sp同理
然后求出最小需要mini回合能打死boss
dp_hp[i][j]表示第i轮我执行完还剩j血能空出的max回合数
如果存在i,使得dp_hp[i][j]>=mini则yes
否则如果dp_hp[n+1][j]合法,表明我活过前n轮,tie
再否则no
错了一次是因为边界,f应该从0开始,可以不使用